package com.pxst.fi.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import com.pxst.entity.BaseEntity;
import lombok.Data;

/**
 * 银行对账单（vb100）
 * @TableName sys_bank_bill
 */
@TableName(value ="sys_bank_bill")
@Data
public class SysBankBillEntity extends BaseEntity {
    /**
     * 
     */
    @TableId
    private Long id;

    /**
     * 当地创建时间
     */
    private Date localCreatedAt;

    /**
     * 商户ID
     */
    private Long merchantId;

    /**
     * 系统可用银行ID
     */
    private Long availableBankId;

    /**
     * 系统银行卡信息ID
     */
    private Long bankCardId;

    /**
     * 交易时间
     */
    private Date tradeTime;

    /**
     * 对账排序
     */
    private Integer billOrder;

    /**
     * 描述
     */
    private String description;

    /**
     * 参考编号
     */
    private String reference;

    /**
     * 币种
     */
    private String currency;

    /**
     * 转出
     */
    private BigDecimal debit;

    /**
     * 转入
     */
    private BigDecimal credit;

    /**
     * 讯银余额
     */
    private BigDecimal balanceXy;

    /**
     * 讯银交易前余额
     */
    private BigDecimal preBalanceXy;

    /**
     * 银行手续费
     */
    private BigDecimal bankFee;

    /**
     * 我们的单号
     */
    private String commandId;

    /**
     * 类型 1.Deposit  充值 2.Withdraw 代付 3.Settlement 下发 4.Internal transfer  内转 5.Bank charge 银行手续费 6.Bank interest 银行利息 7.Unclaimed fund 无法辩别的收入 8.Unknown transfer 无法辨别的支出 9.DOUBLE PAYOUT 10.SPMC 11.OPENCARD 12.AJ FI 13.AJ FO 14.AJ TOPUP 15.AJ BALANCE 16.TECH TEST 17.BIMC 19.MA REBATE 20.SIM TOPUP 21.BANK RENTAL 22.OTHERS 24.REFUND FRAUD 25.REFUND DEPOSIT 26.INTERNAL TRANSFER 27.BANK REVERSAL
     */
    private Integer type;

    /**
     * model_class
     */
    private String modelClass;

    /**
     * 交易模式 1.Bank 2.QR Code
     */
    private Integer txnMode;

    /**
     * 是否作废 1.作废
     */
    @TableField("void")
    private Integer void_;

    /**
     * 重复账VBS
     */
    private Integer duplicateId;

    /**
     * 作废请求者
     */
    private String voidRequester;

    /**
     * 作废批准者
     */
    private String voidApprover;

    /**
     * 作废批准时间
     */
    private Date voidApprovedAt;

    /**
     * 作废拒绝者
     */
    private String voidRejector;

}